package com.neuedu.mapper;

import com.neuedu.bean.User;
import com.neuedu.bean.VO.UserVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

// 接口中主要规定数据操作层有那些方法。
public interface UserMapper {

    /**
     * 根据用户id获取用户信息
     * @param userId  用户id
     * @return  返回用户信息User对象
     * @throws Exception  可能抛出获取用户信息异常
     */
    public User getUserById(String userId) throws Exception;


    /**
     * 根据用户id和密码完成用户登录
     * @param userId   手机号
     * @param password  密码
     * @return   登录成功的User信息
     * @throws Exception  可能抛出用户登录异常
     */
    public User getUserByIdByPass(@Param("userId") String userId, @Param("password") String password) throws Exception;

    /**
     * 保存用户信息
     * @param user 封装用户的信息
     * @return  返回保存成功  > 0  保存成功
     * @throws Exception  保存用户信息失败，抛出异常
     */
    public int saveUser(User user) throws Exception;

    List<User> queryUserPageList(UserVO userVO);
}
